1. Technical Field
The present invention relates in general to the field of computers, and in particular to computer software. Still more particularly, the present invention is a productivity-enhancing tool that improves application integration, integrity, and troubleshooting through an automated installation control and diagnostic process.
2. Description of the Related Art
The average computer users today, whether business or casual, have dozens and perhaps even hundreds of disparate applications installed and running on their computers at any given time. Additionally, new applications are continuously added to computing environments, while existing applications are often patched to correct known problems or upgraded to add functionality. Often application upgrades and patches come in related groupings such that multiple changes are introduced into a computing environment simultaneously.
For example, if a user installs a new version of a web browser, a new version of a Java plug-in may be required and automatically installed with the new browser. Additionally, software companies often bundle patches and fixes into large groupings, frequently containing hundreds of files, to be installed simultaneously as a “fix pack” or “release level.” Additionally, many operating systems allow for automated and unattended installation of such patches and upgrades, such that the end user may not even be aware that an installation activity has occurred. With the complexity of modern computers, applications, and operating systems, errors are often unintentionally introduced into the computing environment when new applications, patches, or upgrades are applied.
Presently, whether software is installed automatically or manually, no satisfactory method exists to preemptively ensure the continued integrity of the computing environment as a whole after new software has been installed. Typically, when problems occur, the end user will call someone for help, and will describe the problem encountered. This is generally followed by a series of manually executed investigative processes and perhaps diagnostic routines. This method can be very inefficient and time consuming, and often fails to pinpoint the cause of failure, thus resulting in the need to reinstall the operating system or application. Additionally, automated and bundled installations can exacerbate the problem due to the many changes introduced at once, and the fact that a specific set of running applications which may induce a problem potentially would not be running simultaneously for many days, weeks, or months after the software changes are affected. This makes it very unlikely, even if the end user was aware that a software change had occurred, that the upgrade/installation would come to mind as a potential cause of an error encountered much later.
Thus, there is a need for a method and system to closely manage and control all installation activities, and to preemptively detect, diagnose, and correct errors introduced into the computing environment as a result of such installation activities. Preferably, such a method and system would enhance existing software installation, integration, and testing through an automated and preemptive installation tracking, diagnostic, and management tool.